package com.fourday;

import java.util.Scanner;

public class Demo1 {
        //完成注册,登录
        /*业务：
         * 1：可以注册多个人
         * 2：需要验证用户名是否重复，如果重复，不能注册。
         *       1)怎么验证，2)注册用户放在数组中空的位置
         * 3：并用注册用户完成登录
         * */

        //主程序的入口
        public static void main(String[] args) {
            //存储用户的数组
            User[] users =new User[5];

            Scanner scanner = new Scanner(System.in);
            System.out.println("****欢迎进入OA系统*******");
            boolean isFlag=true;
            while (isFlag){
                System.out.println("请选择您的操作，1：注册，2：登录");
                int i = scanner.nextInt();
                switch (i){
                    case 1:
                        boolean isFlag1=true;
                        while (isFlag1){
                            System.out.println("****欢迎注册****");
                            System.out.println("请输入用户名");
                            String name = scanner.next();
                            System.out.println("请输入密码");
                            String password = scanner.next();

                            User user = new User();
                            user.id=001;
                            user.name=name;
                            user.password=password;

                            //验证当前注册的用户名是不是已经存在？
                            boolean isOk=checkName(user.name,users);
                            //将注册的用户放在数组中空的位置
                            if(!isOk){
                                //不重名情况
                                boolean b = addUser(user, users);
                                if(b){
                                    System.out.println("注册成功！");
                                    System.out.println("是否需要继续注册？（是、否）");
                                    String next = scanner.next();
                                    if(next.equals("否")){
                                        isFlag1=false;
                                    }
                                }else {
                                    System.out.println("注册失败！");
                                }
                            }else {
                                System.out.println("用户名重复，重新注册....");
                            }
                        }
                        //users[2]
                        break;

                    case 2:
                        break;
                }
           }
      }


      ////验证当前注册的用户名是不是已经存在？
      /*
      * 需要返回值：boolean
      * 参数列表：
      *     1：有几个参 2,用户名，用户数组
      *     2：参数类型
      *
      * */
      public static boolean checkName(String name,User[] users){
              for (int i = 0; i < users.length; i++) {
                  if(users[i]!=null &&users[i].name.equals(name)){
                        return true;
              }
          }
          return false;
      }

      ////将注册的用户放在数组中空的位置
      public static boolean addUser(User user,User[] users){
              for (int i = 0; i < users.length; i++) {
                  if(users[i]==null){
                      users[i]=user;
                      return true;
                  }
              }
              return  false;
      }
}
